System and method for determining a location relevant to a communication device and/or its associated user

ABSTRACT

A method of determining a location relevant to a user of a communication device is provided. The method involves determining general location information of the location relevant to the user and determining a list of location parameters from the general location information. Specific location of the communication device is also determined. The location relevant to the user is then determined by comparing the list of location parameters with the specific location information. Systems and programs for using the method are also provided.

FIELD OF THE INVENTION

[0001] The present invention relates generally to communication systems.More particularly, the present invention relates to methods and systemsfor determining a location relevant to a communication device or alocation relevant to a user associated with a communication device.

BACKGROUND OF THE INVENTION

[0002] Wireless telephones, pagers and other communication devicestypically communicate via wireless telecommunications networks. Inrecent years, a number of service systems have been implemented orproposed for wireless telecommunications networks which would provide agiven service based on the locations of the devices communicating viathese networks. Such location-based service systems would provide aservice in relation to a given location. For example, such a servicecould locate the nearest ATM, gas station, bank, police station, orrestaurant, in relation to the location.

[0003] Generally, the location relevant to the service is the locationof the communication device, or specifically the location of thewireless transceiver. This location may be determined using automaticposition determination technology such as cell and sector identificationand GPS. However, different position determination technologies providedifferent levels of location accuracy.

[0004] For example, cell and sector identification locates a wirelesstransceiver to a general area such as that covered by a single basestation. Moreover, cell and sector identification-based positioning isinadequate to accurately identify one specific location. Meanwhile, GPScan accurately locate a wireless transceiver in open, unobstructedenvironments. However, GPS presents technological challenges toidentifying a location in an obstructed environment such as a city.

[0005] A location may also be determined using information input by theuser. However, user-specified location may be inefficient. If theinformation is input as speech (e.g. a location spoken into a cellularphone), the location may be difficult to recognize, primarily due toconstraints in speech recognition technology.

[0006] It would be desirable therefore, to provide an improved methodfor determining a location.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007]FIG. 1 is a block diagram illustrating a communication system;

[0008]FIG. 2 is a flow diagram illustrating a method for determining thelocation relevant to a communication device or a location relevant to anassociated user of a communication device;

[0009]FIG. 3 is a flow diagram continuing the flow diagram FIG. 2; and

[0010]FIG. 4 is an exemplary block diagram illustrating anotherembodiment of a communication system.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

[0011] Desired location information can be identified from generallocation information and specific location information. For example auser might connect with a network operator and request the nearestautomated teller machine (ATM). A general location of the user can firstbe determined. For example, where the device is a cellular phone, thegeneral location can be identified by the location of the base stationcommunicating with the cell phone. The locations within the basestation's cell can then be used for determining the actual location ofthe user. The process can be automated through a voice recognition ortext entry system.

[0012]FIG. 1 illustrates one embodiment of a communication system at 10.The communication system 10 generally includes a communication device12, 32, communication networks 14, 18, a locator application 50 and acommunication node 16. Communication system 10 may further include oneor more information sources 54, 58 in communication with the locatorapplication 50 and/or communication node 16. As further described below,the communication system 10 may provide various services andcapabilities to cellular users, wire-line telephone users, paging users,satellite users, mobile or portable telephone users, trunked users,computer network users (e.g., Internet or Intranet users), wireless datausers, branch office users, cable users and the like. Communicationsystem 10 may also accurately locate communication device 12, 32 and/orits associated user 20, 30 in order to provide location-relevantservices to the user 20, 30 via device 12, 32.

[0013] Locator application 50 may include one or more programs or otherapplications for processing location information. Locator application 50may comprise computer readable/processable program code. Such locationinformation may be information input by user 20, 30 via device 12, 32.Alternatively, location information processed by locator application 50may be information provided by communication node 16 or forwarded bycommunication node from communication networks 14,18. Locationinformation processed by locator application 50 may also be provided byinformation sources 54, 58. Locator application 50 may interact withuser 20, 30 via device 12, 32. In one embodiment of the invention,locator application 50 resides on communication node 16. In anotherembodiment, locator application 50 is in communication withcommunication node 16. In yet another embodiment, locator application 50may reside on communication device 12, 32.

[0014] Locator application 50 may process information from one or moreinformation sources 54, 58. Information source 54, 58 may be operated byany entity, including, without limitation, a governmental agency, acommercial entity, or any other source of location information. In thepresent invention, each information source 54, 58 may containgeographical information and other information relating to the purposeof the present invention. In one embodiment, information source 54, 58may comprise cellular and sector identification information. Informationsource 54, 58 may also include maps relating to such cellular and sectoridentification information. Additionally, information source 54, 58 maycontain geographical and non-geographical information, includinginformation that relates cellular and sector information to othergeographical information. Information source 54, 58 may also includegeographical and non-geographical information about countries,states/provinces, counties/parishes, metropolitan areas, cities, ZIPcodes, area codes, landmarks, points of interest, subway and trainstations, airports, streets, gas stations, Automated Teller Machines(ATMs), hospitals, police stations, restaurants, etc. In one embodiment,information source 54, 58 may comprise a virtual map of a given area,complete with a listing of all geographical entities on the map, such asa listing of all streets within Chicago, Ill., for example. One or moreof information sources 54, 58 may also include such information as namesand addresses. Information sources 54, 58 may contain specific names andaddresses (e.g. a list of hospital names and their addresses) or may bea more general address listing (e.g. an electronic “yellow pages”). Inone embodiment the information within information source 54, 58 may becontained in a database. Alternatively, information source 54, 58 maycontain a grammar of geographical and non-geographical information forvoice recognition purposes.

[0015] The communication device 12, 32 of the communication system 10may be utilized by end user 20, 30 to access and/or connect with thecommunication node 16. Communication device 12, 32 may also be used byend user 20, 30 to access and/or connect with locator application 50.The communication device 12, 32 can include, but is not limited to,wireline telephones, mobile telephones, paging units, radio units,wireless data devices, Web telephones, portable or wireless telephones,personal information managers (PIMs), personal digital assistants(PDAs), personal computers (PCs), network televisions (TVs), InternetTVs, Internet telephones, portable wireless devices (i.e., two-waypagers), security systems (both mobile and premises-based), workstationsor any other suitable communication devices.

[0016] Regardless of its specific form, the communication devices 12, 32have user-input interfaces 24, 28 and/or user-output interfaces 34, 38.Alternatively, the user-input interfaces 24, 28 and/or user-outputinterfaces 34, 38 may work in conjunction with the communication device12, 32 without actually residing on the device 12, 32.

[0017] The user-input interfaces 24, 28 may receive input from the users20, 30 and the user-output interfaces 34, 38 may provide output to theusers 20, 30. The user-input interfaces 24, 28 can include, but are notlimited to, an electroacoustic transducer, such as, for example, amicrophone to receive voice and other audible input from the users 20,30 a keypad or a keyboard to receive key strokes from the users 20, 30 atouchpad or touchscreen to receive touch input from the users 20, 30 ahandwriting recognition interface to receive handwritten input fromusers 20, 30 and a pointing device such as a mouse or a trackball toreceive point and click inputs from the users 20, 30. In one embodimentof the present invention, user-input interface 24, 28 may be a modifiedcar dashboard allowing input from users 20, 30.

[0018] The user-output interfaces 34, 38 of the communication devices12, 32 can include, but are not limited to, an electroacoustictransducer such as, for example, a speaker to provide voice and otheraudible output to the users 20, 30, and a visual display device such asa liquid crystal display or a cathode ray tube to provide graphicaland/or textual information to the users 20, 30. In one embodiment of thepresent invention, user-output interface 34, 38 may be a modified cardashboard providing output to users 20, 30.

[0019] Each of the communication devices 12, 32 may include more thanone user-input interface 24, 28 or more than one user-output interface34, 38. Moreover, the user may use one or more user-input interfaces 24,28 or user-output interfaces 34, 38 simultaneously. For example, awireless telephone may have a microphone, a telephone keypad, a speaker,and a visual display device.

[0020] In one embodiment of the invention, an input interface 24, 28 mayalso reside on the communication node 16. Output interface 34, 38 mayalso reside on the communication node 16. Alternatively, input interface24, 28 may reside on the communication node 16 while output interface34, 38 resides on the device 12, 32. Alternatively, input interface 24,28 may reside on the device 12, 32 while output interface 34, 38 resideson communication node 16.

[0021] The communication device 12, 32 may also communicate withcommunication networks 14, 18 via the communication node 16. Thecommunication network 14 can interface with the communication device 12,32 through wireline or wireless networks or systems (i.e., telephone ortelevisions systems, Integrated Services Digital Network (ISDN) systems,coaxial lines, computer networks, digital end user lines, privatenetworks, wireless local loop systems, etc.).

[0022] The communication networks 14, 18 of the communication system 10can include, but are not limited to, intranets, extranets, the Internet,a Local Area Network (LAN), a telephone network, (e.g., a PublicSwitched Telephone Network (PSTN), private telephone networks, etc.), acellular network, satellite networks, a personal communication system, aTV network (e.g., a cable TV system), local, regional, national orglobal paging networks, an email system, a wireless data network (e.g.,satellite data or local wireless data networks), a wireless LAN, awireless local loop/distribution system (e.g., LMDS, MMDS or CodeDivision Multiple Access (CDMA) based system), a Voice Over InternetProtocol (VOIP) network, or any other suitable network. Thecommunication networks 14, 18 can also include a wide area network(WAN), such as, for example, the Internet, the World Wide Web (WWW) orany other similar on-line service. It will be recognized that thecommunication networks 14, 18 may have portions in common, may comprisetwo separate networks, or may be the same network.

[0023] The communication node 16 of the communication system 10 caninclude, but is not limited to, an interactive voice response node, aserver computer, the MIX™ platform and the Myosphere™ Service providedby Motorola, Inc. of Schaumburg, Ill. (as further described withreference to FIG. 4), or other suitable system. It will be recognizedthat the communication node 16 may be integrated within or may be remotefrom the communication networks 14, 18.

[0024]FIG. 2 shows a flow diagram of one embodiment of a method fordetermining the location of a communication device or its associateduser in accordance with the present invention at 300. In the embodimentshown in FIG. 2, locator application 50 resides on node 16. However, asdescribed above, locator application 50 may be in communication withnode 16 or on device 12, 32.

[0025] At block 301, a service request is received by locatorapplication 50 on node 16. The service request may comprise a request todetermine the location of the communication device 12, 32 and itsassociated user 20, 30. In one embodiment of the invention, the servicerequest received by communication node 16 (or locator application 50) atblock 301 may include information that enables the communication node 16to automatically determine the general location of the communicationdevice 12, 32 and/or its associated user 20, 30. For example, thegeneral location of the device 12, 32 and its associated user 20, 30 maybe a cell ID, a sector ID or a cell and sector ID (e.g. cell sector ID12, 1234). The service request may also include input from user 20, 30indicating additional specific location information. For example, thespecific location may be in the form of a specific street address (e.g.25 South LaSalle Street). The specification location may also be in theform of an intersection, a highway/exit, a highway/mile marker, a streetname combined with a street number, the name of a landmark, a point ofinterest, the name of a place of business or any combination thereof(e.g. an intersection combined with a highway/exit, a highway/exitcombined with a highway/mile marker, a landmark combined with a point ofinterest, or a point of interest combined with a place of business.)

[0026] In one embodiment of the invention, user 20, 30 may initiate theservice request. Alternatively, the service request may be initiated byanother communication device, the communication node 16 or anotherentity and then sent to the communication device 12, 32. The servicerequest may be transmitted via a Voice User Interface (VUI), Device UserInterface (DUI), a Graphic User Interface (GUI), or a combinationthereof, each of which are known in the art.

[0027] Using VUI technology, the user may access one or more servicesenabled by communication node 16 via the input of voice commands, whichwill preferably be compared with an instruction set or a grammar locatedon the communication node 16. Once the service enabled by thecommunication node is invoked using VUI technology, the user 20, 30 maybe prompted to act through a series of menus, in which the user respondsthrough voice commands.

[0028] Using DUI technology, the user may access one or more servicesenabled by communication node 16 through the use of inputs via a keypad,mouse, stylus or handwriting input interface of the communication device12, 32, which may, for example, be transmitted in the form of data suchas WAP text or DTMF signals of the communication device 12, 32 inresponse to signals from the communication device 12, 32.

[0029] Using GUI technology, the user can access one or more of theservices enabled by communication node 16 through the use of inputs. Theinputs may be in response to prompts given to the user via a screenintegral to or in conjunction with the communication device 12, 32 suchas, for example, a display screen on a computer. The GUI technology maydirect the user through a series of graphical displays. The GUItechnology may also prompt the user for responses to those displays.

[0030] At block 305, locator application 50 on node 16 establishes anelectronic connection with an information source 54. Locator application50 may communicate with the information source 54 to obtain additionalinformation for processing the request received at 301. In theembodiment of FIG. 2, this information source may be a database oflocation parameters. Thus, at block 305, the communication nodeinitiates a communication link with the database of location parameters.The database of location parameters may be, for example, a memorylocation, located either integral with or remote from the communicationnode. Alternatively, information source 54 may be any suitable source ofinformation that enables locator application 50 to pinpoint the locationof device 12, 32 and its associated user 20, 30.

[0031] For example, information source 54 may provide a street map of agiven cell and/or sector (e.g. a street map of cell and/or sector ID1234). Location parameters that may be provided by information source 54include, but are not limited to: lists of streets within a city; listsof streets within a cell or sector; lists of streets within a state;lists of street names and numbers; ZIP code lists; lists of streetintersections; lists of landmarks in a given city, state, cell orsector; lists of places of interests in a given city, state, cell orsector; lists of banks in a given city, state, cell or sector; lists ofrestaurants in a given city, state, cell or sector; lists of hotels in agiven city, state, cell or sector; lists of post offices in a givencity, state, cell or sector; lists of businesses of a given type in agiven city, state, cell or sector, etc. Information source 54 may alsoprovide location parameters that comprise combinations of one or more ofthe parameters listed above e.g. lists of streets and cities or lists ofcountries and ZIP codes.

[0032] At block 310, the communication node 16 may then determinegeneral location information corresponding to the location of thecommunication device 12, 32 and its associated user 20, 30. As describedabove at block 301, this general location information may have been sentautomatically with the service request. Alternatively, general locationinformation may be may be user-specified using any suitable technology,such as, for example, DUI, VUI or GUI methods described above.

[0033] General location information may also be determined automaticallyusing any suitable technology such as position determination technology.Some examples of automatic positioning technology include, but are notlimited to: cell identification information, sector identificationinformation, timing advance information, triangulation information,receive level information, neighbor cell identification information,neighbor sector identification information, Global Positioning System(GPS) information, Assisted Global Positioning System (AGPS)information, Differential Global Positioning System (DGPS) information,Enhanced Observed Time Difference (EOTD) information, Forward LinkTriangulation (FLT) information, Advanced Forward Link Triangulation(AFLT) information, Time Difference of Arrival (TDOA) information, Angleof Arrival (AOA) information, Idle Period DownLink Observed TimeDifference of Arrival (IPDL-OTDOA) information. One or more of thesetechnologies may be combined to determine general location information.Some combinations that may be used include, but are not limited to: cellcombined with sector identification information, neighbor cell combinedwith neighbor sector information and cell and sector identificationinformation combined with timing advance information.

[0034] General location information may be determined from or mayinclude, for example, cell and/or sector identification and othergeographic and non-geographic information such as a ZIP code, the city,state and country of a location, a telephone area code, etc. Suchgeneral location information may be obtained by querying thecommunication device 12, 32, by querying one or more communicationnetworks 24, 28 or by querying any suitable entity, such as a wirelessoverlay network system. Querying may occur through any suitable means.For example, the query may take place via a Subscriber IdentificationModule (SIM) Toolkit, Wireless Application Protocol (WAP) Push, ShortMessage Service (SMS), etc. The automatic position information may berequested as described above or may be transmitted at regular ornon-regular intervals based on events such as a change of cells (i.e.,handover, handoff, etc.).

[0035] In the method of FIG. 2, general location information may bedetermined before or after locator application 50 on node 16 establishesa connection with a database of location parameters. The steps shown atblock 305 and 310 may also occur simultaneously.

[0036] The selection of the database of location parameters may dependon the nature of the service request received at 301. This selection mayalso depend on the nature of the services being provided. For example,if the service request is for directions to the nearest ATM, thecommunication node 16 may select an information source 54 containing alist of ATMs in the vicinity of the general location established atblock 310.

[0037] At block 315, locator application 50 on node 16 receives specificcategory information. In the embodiment shown in FIG. 2, user 20, 30 isprompted to select a category by which a location will be specified. Forexample, the user may be prompted to select one or more categories suchas, but not limited to: “intersection,” “street name and number,” “ATM”,“gas stations”, “train stations”, “landmarks”, “businesses”, “highways”,“highway exits” “mile markers” or “points of interest”. These categoriesmay also be combinations of one or more categories, for example“intersection with street address”, “ATM with correspondingintersection”, or “highway exit with highway mile marker.”

[0038] In one embodiment of the invention, the category is indicated aspart of the service request. A lack of response within a given time maybe taken to indicate a default selection.

[0039] At block 320, locator application 50 on node 16 may select a setof location parameters based on the information received at 315. Forexample, in the embodiment shown in FIG. 2, if the user selected“intersection”, this may indicate to locator application 50 that thelocation relevant to the device 12, 32 or of to the associated user 20,30 of the device will be in the form of an intersection, (i.e. a pair ofintersecting streets). This selection can then be used to further refinethe search field. For example, when the VUI method is used as input, agrammar for the list of selections may be forwarded to the VRU server.The list of selections and its corresponding grammar may, in essence, berefined to include only those location parameters such as streets, ATMs,gas stations that are within, near, or around the general locationinformation.

[0040] Additionally, the database of location parameters or the grammarmay be dynamically generated. In such a case, the communication node 16or locator application 50, after creating such a grammar, may upload thegrammar to a memory location, a voice browser, or a VRU server, locatedeither integral with or remote from the communication node 16.

[0041] Within the parameters set by the general location information,locator application 50 on node 16 may use the additional parametersselected at block 320 to refine a search field. For example, instead ofmaintaining in memory an entire virtual version of a map of the UnitedStates, only a map of the area corresponding to the general locationinformation may be maintained. Alternatively, instead of maintaining adatabase listing all location parameters in the United States, only adatabase of location parameters falling nearby the general locationinformation may be maintained.

[0042] Additionally, the search field may be further refined to includeonly the location parameters corresponding to the selected category. Inthe example where the selected parameters is based on the input“intersection,” the set of location parameters and its correspondinggrammar may be restricted to include only the set of intersectingstreets.

[0043] At block 325, locator application 50 on node 16 may then promptfor user specified information to further refine the field. Thisuser-specified information may be transmitted by communication network14, 18, user 20, 30, communication node 16 or locator application 50.Alternatively, as described above at block 301, this specificinformation may have been sent automatically with the service request.Such prompts may be a series of questions and answers between thecommunication node, locator application 50 and/or user 20, 30 (viacommunication device 12, 32). This interaction may occur via either theVUI, DUI or GUI methods, as described above. For example, thecommunication node may prompt the user, via the communication device, toenter or speak the nearest street(s), a nearby address, a nearbylandmark or a highway interchange to which the user would respond viathe communication device (e.g. the user may respond with “LaSalle andMadison” or “25 South LaSalle” or “near the Chicago Board of Trade.”)The user may then respond appropriately, for example, via device 12, 32.A lack of response within a given time may be taken to indicate adefault selection.

[0044] Once the user-specified information is received by the node 16 orlocator application 50, at block 330, locator application 50 orcommunication node 16 then compares this information (received at block325) with the refined database of location parameters (determined atblock 320). As stated above, the database of location parameters mayinclude terms corresponding to a geographical location. Thus, at block330, the communication node 16 or locator application 50 may compare thespecific location information with the database of location parameters.Preferably, the database of location parameters may include a grammar ofgeographic and non-geographic terms, as disclosed above. (e.g., thecommunication node 16 would look for “LaSalle Street,” “Madison Avenue”“25 South LaSalle Street” and/or “Chicago Board of Trade.”)

[0045] Upon performing the comparison step of block 330, thecommunication node 16 can then determine the location relevant to theuser 20, 30 (block 335). In one embodiment of the invention, this isaccomplished by matching the specific location information responseswith the database of location parameters. In one embodiment, thislocation may be the accurate location of the communication device 12, 32and/or its associated user 20, 30. Alternatively, the locationdetermined at block 335 may be a location that is relevant to the useror a point of interest (e.g. the location of a nearby airport).

[0046] Once the relevant location has been determined at block 335,additional services may be provided to the device 12, 32 and itsassociated user 20, 30 as described in FIG. 3.

[0047]FIG. 3 shows a flow diagram continuing an embodiment for providinga service to a communication device and its associated user inaccordance with the present invention at 300. The embodiment of FIG. 3may be used once a location relevant to the user has been located usingthe embodiment of FIG. 2.

[0048] In one embodiment of the invention, the communication node 16 orlocator application 50 may forward the relevant location to the device12, 32. This step may be an optional step that may occur when indicatedat block 340. This location may then be output to the user 20, 30 in anysuitable manner. Thus, in the above example, the communication node mayoutput to the communication device, “You are at 25 South LaSalle Street,Chicago, Ill.”

[0049] Whether or not this relevant location is provided to device 12,32 and its associated user as indicated at block 340, additionalservices may also be imparted to the user from node 16 or locatorapplication 50. Thus, as seen at block 345, the relevant location may beforwarded to a suitable service provider to provide additional services.These services may be provided to the user 20, 30 via device 12, 32 orvia any other suitable means. The relevant location may be forwarded tocommunication node 16, locator application 50, communication networks14, 18 or any other suitable service providers.

[0050] One embodiment of the invention then continues from block 345 tothe step seen at block 370. Optional steps are indicated at blocks 350and 360 and will be further described below.

[0051] Proceeding from block 345 to block 370, at block 370, thecommunication node 16 may then select at least one location parameterfrom the associated location parameters (e.g. selects at least one ATM).In one embodiment of the invention, the location parameter selectedcorresponds to all or a portion of the user responses determined atblocks 325, 350. The specific number of location parameters selected maybe variable and dependent upon a number of factors. For example, thenumber of location parameters selected may be dependent upon apredetermined mile radius from the location of the communication device(e.g. only the location parameters of ATMs within 2 miles of thecommunication device are selected). Alternatively, the communicationnode 16 may be preprogrammed to return a specific number of selectedlocation parameters (e.g. only the location parameters of the 10 ATMsnearby the communication device are selected).

[0052] Before communication node 16 selects at least one locationparameter at block 370, the database of location parameters mayoptionally be further refined using the steps described at blocks 350,360. In such cases, at block 350, communication node 16 compares thelocation relevant to the user 20, 30 (determined at block 335) with theset of location parameters chosen at 305 and refined for a first time at320. Then, at block 360, the user is given one or more additionalopportunities to specify information for refining the parameters. Forexample, the user may give a response at block 360 which narrows theparameters to the location parameters of the first three ATMs within afour-block radius of the accurate location of the communication device12, 32.

[0053] In any event, at block 370, the communication node 16 selects atleast one location parameter to be output to the device 12, 32 and itsassociated user. The selected location parameter(s) are output at block380. The selected location parameters may be output in any suitablemanner, for example, to the user 20, 30 via device 12, 32.Alternatively, the selected parameters may be output to a printerdesignated by the user or may be e-mailed to another device such as theuser's e-mail server. Thus, in the illustrated example, thecommunication node 12, 32 may output to the communication device, “Thereis a Northern Trust ATM located at 50 South LaSalle Street. There is aNorthern Trust ATM located at 10 East Oak Street. There is a NorthernTrust ATM located at 15 South Wacker Drive.”

[0054] At block 390, the selected location parameters may be furtherrefined by the user so that only one location parameter is chosen. Inone embodiment, the user 20, 30 selects one location parameter from theselected location parameters provided at 380. The user may select thelocation parameter via device 12, 32 or via any other suitable means.

[0055] At block 395, additional services may be provided based on theselection made at 380. These services may be provided to the user 20, 30via device 12, 32 or via any other suitable means. These services may beprovided by communication node 16, locator application 50, communicationnetworks 14, 18 or any other suitable service providers.

[0056] For purposes of illustrating the method described in FIGS. 2 and3, Examples A and B are provided below.

EXAMPLE A

[0057] Bob is walking in downtown Chicago and passes a card shop. Hedecides to buy a card for his spouse. Inside the shop, he discovers hehas left his wallet at home. Using his cell phone, Bob places a voicecall to a communication node to find the ATM nearest to him, (e.g.nearest to his current location). He says “Nearest ATMs to here” and thenode receives this as Bob's service request (block 301). The nodeforwards the request to an ATM Locator application that can processBob's location, e.g. an application that can process cell and/or sectorID information. The application obtains Bob's location from Bob'scellular service provider and determines that he is in a given cell andsector (block 310). The application also communicates with aninformation source that can provide it with additional information suchas a list of streets and ATMs near, around, within, or corresponding toBob's location (block 305). The information source then provides thisinformation to the application. The application prompts Bob for acategory of locations and Bob's response, “Intersections”, is receivedby the application (block 315). The application sends a grammarcorresponding to, for example, the list of streets, to the voice gatewayon the communication node (block 320). Then the application or nodeprompts Bob to specify a location such as an intersection and Bobresponds with “Ohio and State” (block 325). The application, throughcommunication with the communication node and the information sourceverifies that “Ohio and State” is an intersection corresponding to Bob'sgeneral location (block 330) and accurately and uniquely determinesBob's location (block 335). The application then forwards Bob's accuratelocation (e.g. 25 W. Ohio Street, Chicago, Ill.) to a service provider(block 345) to obtain the closest ATMs. The application compares Bob'slocation to the list of ATMs provided by the service provider (block350), determines the closest list of ATMs (block 370). The applicationpresents the information corresponding the closest ATMs to Bob via thecommunication node and Bob's cell phone (block 380), e.g. “the nearestATM is at the branch of The Northern Trust Bank located at 10 West OakStreet, Chicago, Ill. The next nearest ATM is at 50 South LaSalleStreet, Chicago, Ill.” Bob selects the ATM at 10 West Oak Street andthis selection is received by the application (block 390). The serviceprovider then provides Bob with information about the ATM use fee at the10 West Oak branch and the hours that the branch is open (block 395).

EXAMPLE B

[0058] Sunil is at a business meeting in Chicago, Ill., and is planningto fly back to Florida in a few hours. The meeting is running late andSunil is in a hurry to get to the O'Hare airport. Sunil is not confidenthe knows the directions to the airport. So, on the way to the airportSunil places a voice call to a directions service, e.g. a communicationnode that provides interactive voice-based services. He asks for“directions from here to the airport”. The node receives the request andforwards it to a directions application (block 301). The directionsapplication establishes communication with an information source thatcan generate turn-by-turn directions and has point-of-interestinformation such as airports (block 305). Based on the command“directions from here to the airport”, the application determines thatthe starting location is “here”, e.g. Sunil's current location, and thatthe category for the destination location is a point-of-interest in theform of an “airport”, e.g. an airport nearby (block 315). Theapplication obtains the starting location from the GPS unit in Sunil'sphone. Since Sunil is looking for directions to a nearby airport, theapplications uses Sunil's current location obtained from the GPS unit inSunil's phone as the general location (block 310).. The application thendetermines the list of closest relevant airports to the general locatione.g. the O'Hare airport, the Midway airport, the Palwaukee airport, andthe Meigs Field airport, through communication with the informationsource (block 320). The application then prioritizes the list ofairports according to the distance from Sunil's current location. Theapplication also sends a grammar corresponding to the list of airportsto the voice gateway on the communication node (block 320). Theapplication prompts Sunil to make a selection via the communication nodeand Sunil's cell phone. Sunil selects “O'Hare” and the applicationobtains the selection (block 325). The application compares “O'Hare” tothe selected list of airports (block 330). The application then verifiesthe selection and obtains the address pertaining to “O'Hare” (block335). The application forwards Sunil's location as the starting locationand the address of “O'Hare” as the destination location to theinformation source to request turn-by-turn directions. The informationsource generates the turn-by-turn directions and forwards it to theapplication. The application presents the information to Sunil via thecommunication node and Sunil's cell phone (block 390).

[0059] Referring now to FIG. 4, an exemplary block diagram of anotherembodiment of a communication system having the capability to accuratelylocate a communication device and its associated user is provided at200. The communication system can implement the methods described inFIGS. 3 and 4 above.

[0060] The communication system 200 generally includes one or morecommunication devices 201, 202, 203, 204, 205 (five being shown), anelectronic network 206, and one or more information sources (e.g.,content providers 208, 221 (two being shown) and data and voice markuplanguage servers 209, 251, 253, 257).

[0061] The user can access the electronic network 206 by dialing asingle direct access telephone number (e.g., a foreign telephone number,a local telephone number, or a toll-free telephone number or PBX) fromthe communication device 20, 301. The user can also access theelectronic network 206 from the communication device 202 via theInternet 220 or WWW, from the communication device 203 via a pagingnetwork 211, or from the communication device 205 via a LAN, a WAN, ane-mail connection or in any other similar manner.

[0062] As shown in FIG. 4, the electronic network 206 includes atelecommunication network 210 and a communication node 212. Thetelecommunication network 210 is preferably connected to thecommunication node 212 via a high-speed data link, such as, for example,a T1 telephone line, a LAN, a WAN or a VOIP network. Thetelecommunication network 210 preferably includes a PSTN 214 and acarrier network 216. The telecommunication network 210 can also include,for example, international or local exchange networks, cable TVnetworks, inter-exchange carrier or long distance carrier networks,cellular networks (e.g., mobile switching centers), PBXs, satellitesystems, wireless data networks and other switching centers such asconventional or trunked radio systems (not shown), etc. The electronicnetwork 206 can also include additional telecommunication networks, suchas, for example, a wireless data network 207.

[0063] The PSTN 214 can include various types of communicationequipment, such as, for example, ATM networks, Fiber Distributed Datanetworks (FDDI), T1 lines, cable TV networks, VOIP networks and thelike. The carrier network 216 generally includes a telephone switchingsystem or central office 218.

[0064] It will be recognized that the carrier network 216 can be anysuitable system that can route calls to the communication node 212, andthe central office 218 can be any suitable wire-line or wirelessswitching system.

[0065] The communication node 212 is preferably configured to receiveand process incoming calls from the carrier network 216 and the Internet220. The communication node 212 can receive and process pages from thepaging network 211 and can also receive and process messages (e.g.,e-mails) from the LAN, WAN, wireless data or e-mail system 213.

[0066] When a user dials into the electronic network 206 from thecommunication device 201, the carrier network 216 routes the incomingcall from the PSTN 214 to the communication node 212 over one or moretelephone lines or trunks. The incoming calls preferably enter thecarrier network 216 through one or more “888” or “800” Inward Wide AreaTelecommunications Services trunk lines, local exchange or long distancetrunk lines. It is also contemplated that the incoming calls can bereceived from a cable, cellular or VOIP network or any other suitablesystem.

[0067] The communication node 212 answers the incoming call from thecarrier network 216 and retrieves an appropriate announcement (e.g., awelcome greeting) from a database, server or browser. The communicationnode 212 then plays the announcement to the caller. In response to audioinputs from the user, the communication node 212 retrieves informationfrom a destination or database of one or more of the informationsources, such as the content providers 208, 221 or the markup languageservers 209, 251, 253, 257. After the communication node 212 receivesthe information, it provides a response to the user based upon theretrieved information.

[0068] The communication node 212 can provide various dialog voicepersonalities (e.g., a female voice, a male voice, etc.), and canimplement various grammars (e.g., vocabulary) to detect and respond tothe audio inputs from the user. In addition, the communication node 212can automatically select various speech recognition models (e.g.,English, Spanish or English accent models) based upon a user's profile,communication device and/or speech patterns. The communication node 212can also allow the user to select a particular speech recognition model.

[0069] When a user accesses the electronic network 206 from acommunication device 201, 202, 203, 204, 205 registered with the system(e.g., home telephone, work telephone, cellular telephone, etc.), thecommunication node 212 can by-pass a user screening option andautomatically identify the user (or the type of communication device)through the use of ANI or CLI. After the communication node 212 verifiesthe call, the communication node 212 provides a greeting (e.g., “Hi,this is your personal agent, Mya. Welcome Bob. How may I help you?”).The communication node 212 then enters into a dialogue with the user,and the user can select a variety of services offered by thecommunication node 212.

[0070] When the user accesses the electronic network 206 from acommunication device not registered with the system (e.g., a payphone, atelephone of a non-user, etc.), the communication node 212 answers thecall and prompts the user to enter his or her name and/or a personalidentification number (PIN) using voice commands or DTMF signals. Thecommunication node 212 can also utilize speaker verification to identifythe particular speech pattern of the user. If the communication node 212authorizes the user to access the system, the communication node 212provides a personal greeting to the user (e.g., “Hi, this is yourpersonal agent, Mya. Welcome Ann. How may I help you?”). Thecommunication node 212 then enters into a dialogue with the user, andthe user can select various services offered by the communication node212. If the name and/or PIN of the user cannot be recognized or verifiedby the communication node 212, the user will be routed to a customerservice representative.

[0071] Once the user has accessed the communication system 200, the usermay implement a wide variety of services and features by using voicecommands, such as, for example, voice dialing, voice paging, facsimiles,caller announcements, voice mails, reminders, call forwarding, callrecording, content information (e.g., newspapers, etc.), read e-mail,read calendars, read “to-do” lists, banking, e-commerce. Thecommunication system 200 can place outbound calls and pages to businessand personal parties or contacts (e.g., friends, clients, businessassociates, family members, etc.) in response to DTMF signals or voicecommands. The calls can be routed through a telephone or electronicnetwork to the selected party and the pagers can be sent to a selectedparty via a paging system. The communication system 200 can also receivecalls routed through a telephone or electronic network.

[0072] As shown in FIG. 4, the communication node 212 preferablyincludes a telephone switch 230, a voice or audio recognition (VRU)client 232, a VRU server 234, a controller or call control unit 236, anOperation and Maintenance Office or a billing server unit 238, a LAN240, an application server unit 242, a database server unit 244, agateway server or router firewall server unit 246, a VOIP unit 248, avoice browser 250, a voice markup language server 251, a messagingserver 255 and a data markup language server 253. Although thecommunication node 212 is shown as being constructed with various typesof independent and separate units or devices, the communication node 212can be implemented by one or more integrated circuits, microprocessors,microcontrollers or computers which may be programmed to execute theoperations or functions equivalent to those performed by the devices orunits shown. It will also be recognized that the communication node 212can be carried out in the form of hardware components and circuitdesigns and/or software or computer programs.

[0073] The communication node 212 can be located in various geographiclocations throughout the world or the United States (e.g., Chicago,Ill.). The communication node 212 can be operated by one or morecarriers (e.g., Sprint, Qwest, MCI, etc.) or independent serviceproviders (e.g., Motorola, Inc.).

[0074] The communication node 212 can be integrated with the carriernetwork 216 or can be located remote from the carrier network 216. It isalso contemplated that the communication node 212 may be integrated intoa communication device, such as, for example, a wire-line or wirelesstelephone, a radio device, a PC, a PDA, a PIM, etc., and can beprogrammed to connect or link directly to an information source.

[0075] The communication node 212 can also be configured as a standalonesystem to allow users to dial directly into the communication node 212via a direct access telephone number. In addition, the communicationnode 212 may comprise a telephony switch (e.g., a PBX or Centrix unit),an enterprise network or a LAN. In this configuration, the communicationsystem 200 can be implemented to automatically connect a user to thecommunication node 212 when the user accesses a communication device.

[0076] When the telephone switch 230 receives an incoming call from thecarrier network 216, the call control unit 236 sets up a connection inthe telephone switch 230 to the VRU client 232. The communication node212 then enters into a dialog with the user regarding various servicesand functions. The VRU client 232 preferably generates pre-recordedvoice announcements and/or messages to prompt the user to provide inputsto the communication node 212 using voice commands or DTMF signals. Inresponse to the inputs from the user, the communication node 212retrieves information from a destination of one of the informationsources and provides outputs to the user.

[0077] The telephone switch 230 is preferably connected to the VRUclient 232, the VOIP unit 248 and the LAN 240. The telephone switch 230receives incoming calls from the carrier network 216. The telephoneswitch 230 also receives incoming calls from the communication device202 routed over the Internet 220 via the VOIP unit 248. The telephoneswitch 230 also receives messages and pages from communication devices203, 205, respectively. The telephone switch 230 is preferably a digitalcross-connect switch, Model LNX, available from Excel SwitchingCorporation, Hyannis, Mass. It will be recognized that the telephoneswitch 230 can be any suitable switch.

[0078] The VRU client 232 is preferably connected to the VRU server 234and the LAN 240. The VRU client 232 processes voice communications, DTMFsignals, pages and messages (e.g., e-mails). Upon receiving voicecommunications, the VRU client 232 routes the speech communications tothe VRU server 234. When the VRU client 232 detects DTMF signals, itsends a command to the call control unit 236. It will be recognized thatthe VRU client 232 can be integrated with the VRU server 234.

[0079] The VRU client 232 preferably comprises a PC, such as, forexample, a Windows NT compatible PC, with hardware capable of connectingindividual telephone lines directly to the telephone switch 230 orcarrier network 216. The VRU client 232 preferably includes amicroprocessor, random access memory, read-only memory, a T1 or ISDNinterface board, and one or more voice communication processing boards(not shown). The voice communication processing boards are preferablyDialogic boards, Antares Model, available from Dialogic Corporation,Parsippany, N.J. The voice communication boards may include a voicerecognition engine having a vocabulary for detecting a speech pattern.The voice recognition engine is preferably a RecServer software package,available from Nuance Communications, Menlo Park, Calif.

[0080] The VRU client 232 can also include an echo canceller (not shown)to reduce or cancel TTS or playback echoes transmitted from the PSTN 214due to hybrid impedance mismatches. The echo canceller is preferablyincluded in an Antares Board Support Package, also available fromDialogic.

[0081] The call control unit 236 is preferably connected to the LAN 240,and sets up the telephone switch 230 to connect incoming calls to theVRU client 232. The call control unit 236 also sets up incoming calls orpages to the communication node 212 over the Internet 220 and pages andmessages sent from the communication devices 203, 205 via the pagingnetwork 211 and e-mail system 213, respectively. The control call unit236 preferably comprises a PC, such as, for example, a Windows NTcompatible PC.

[0082] The LAN 240 allows the various components and devices of thecommunication node 212 to communicate with each other via twisted pair,fiber optic, coaxial cables or the like. The LAN 240 may use Ethernet,Token Ring or other suitable types of protocols. The LAN 240 ispreferably a 100 Megabit per second Ethernet switch, available fromCisco Systems, San Jose, Calif., and can comprise any suitable networksystem. The communication node 212 may include a plurality of LANs.

[0083] The VRU server 234 is connected to the VRU client 232 and the LAN240. The VRU server 234 receives voice communications from the user viathe VRU client 232. The VRU server 234 processes the voicecommunications and compares the voice communications against avocabulary or grammar stored in the database server unit 244 or asimilar memory device. The VRU server 234 provides output signals,representing the result of the voice communications processing, to theLAN 240. The LAN 240 routes the output signal to the call control unit236, the application server unit 242 and/or the voice browser 250. Thecommunication node 212 then performs a specific function associated withthe output signals.

[0084] The VRU server 234 preferably includes a TTS unit 252, anautomatic speech recognition (ASR) unit 254, and a STT unit 256. The TTSunit 252 receives textual data or information (e.g., e-mail, web pages,documents, files, etc.) from the application server unit 242, thedatabase server unit 244, the call control unit 236, the gateway serverunit 246, the application server unit 242 and the voice browser 250. TheTTS unit 252 processes the textual information and converts it to voicedata or information.

[0085] The TTS unit 252 can provide information to the VRU client 232,which reads or plays the information to the user. For example, when theuser requests information (e.g., news updates, stock information,traffic conditions, etc.), the communication node 212 retrieves thedesired information (e.g., textual information) from a destination ofthe one or more of the information sources and converts the informationvia the TTS unit 252 into a response.

[0086] The response is then sent to the VRU client 232. The VRU client232 processes the response and reads an audio message to the user basedupon the response. It is contemplated that the VRU server 234 can readthe audio message to the user using human recorded speech or synthesizedspeech. The TTS unit 252 is preferably a TTS 20, 3000 software package,available from Lernout and Hauspie Speech Product NV, Burlington, Mass.

[0087] The ASR unit 254 provides speaker dependent or independentautomatic voice recognition of voice communications from the user. It iscontemplated that the ASR unit 254 can include speaker dependent voicerecognition. The ASR unit 254 processes the voice communications todetermine whether a word or a speech pattern matches any of the grammarsor vocabulary stored in the database server unit 244 or downloaded fromthe voice browser 250. When the ASR unit 254 identifies a selectedspeech pattern of the voice communications, the ASR unit 254 sends anoutput signal to implement the specific function associated with therecognized speech pattern. The ASR unit 254 is preferably a speakerindependent voice recognition software package, RecServer Model, alsoavailable from Nuance Communications. It is contemplated that the ASRunit 254 can be any suitable voice recognition unit to detect voicecommunications.

[0088] The STT unit 256 receives voice communications and converts thevoice communications to textual information (e.g., a text message). Thetextual information can be sent or routed to the communication devices201, 202, 203, 204, 205, the content providers 208, 221, the markuplanguage servers 209, 251, 253, 257, the voice browser 250 and theapplication server unit 242. The STT unit 256 is preferably a NaturallySpeaking software package, available from Dragon Systems, Newton, Mass.

[0089] The VOIP unit 248 is preferably connected to the telephone switch230 and the LAN 240. The VOIP unit 248 allows a user to access thecommunication node 212 via the Internet 220 or VOIP public network usingvoice commands. The VOIP unit 248 can receive VOIP protocols (e.g.,H.323 protocols) transmitted over the Internet 220 or Intranet, and canconvert the VOIP protocols to voice information or data. The voiceinformation can then be read to the user via the VRU client 232. TheVOIP unit 248 can also receive voice communications from the user andconvert the voice communications to a VOIP protocol that can betransmitted over the Internet 220. The VOIP unit 248 is preferably aVoice Net software package, also available from Dialogic Corporation. Itwill be recognized that the VOIP unit 248 can be incorporated into acommunication device.

[0090] The communication node 212 also includes a detection unit 260.The detection unit 260 is preferably a phrase or key word spotter unit,detecting incoming audio inputs or communications or DTMF signals fromthe user. The detection unit 260 is preferably incorporated into thetelephone switch 230, but can be incorporated into the VRU client 232,the carrier network 216 or the VRU server 234. The detection unit 260 ispreferably included in a RecServer software package, also available fromNuance Communications.

[0091] The detection unit 260 records the audio inputs from the user andcompares the audio inputs to the vocabulary or grammar stored in thedatabase server unit 244. The detection unit 260 continuously monitorsthe user's audio inputs for a key phase or word after the user isconnected to the node 212. When the detection unit 260 detects the keyphrase or word, the VRU client 232 plays a pre-recorded message to theuser. The VRU client 232 then responds to the audio inputs provided bythe user.

[0092] The billing server unit 238 is preferably connected to the LAN240. The billing server unit 238 can record information about the use ofthe communication node 212 by a user (e.g., length of calls, featuresaccessed by the user, etc.). Upon completion of a call by a user, thecall control unit 236 sends information to the billing server unit 238.The billing server unit 238 can subsequently process the information inorder to prepare customer bills. The billing server unit 238 can use theANI or CLI of the communication device to properly bill the user. Thebilling server unit 238 preferably comprises a Windows NT compatible PC.

[0093] The gateway server unit 246 is preferably connected to the LAN240 and the Internet 220. The gateway server unit 246 provides access tothe content provider 221 and the voice markup language server 257 viathe Internet 220. The gateway server unit 246 allows users to access thecommunication node 212 from the communication device 202 via theInternet 220. The gateway server unit 246 can function as a firewall tocontrol access to the communication node 212 to authorized users. Thegateway server unit 246 is preferably a Cisco Router, also availablefrom Cisco Systems.

[0094] The database server unit 244 is preferably connected to the LAN240. The database server unit 244 preferably includes a plurality ofstorage areas to store information relating to users, such as, forexample, speech vocabularies, dialogs, personalities, user enteredinformation, and other information. Preferably, the database server unit244 stores a personal file or address book. The personal address bookcan contain information required for the operation of the communicationsystem 200, including user reference numbers, personal access codes,personal account information, contact's addresses, telephone numbers,etc. The database server unit 244 is preferably a PC, such as, forexample, a Windows NT compatible PC.

[0095] The application server unit 242 is preferably connected to theLAN 240 and the content provider 208. The application server unit 242allows the communication node 212 to access information from adestination of the information sources, such as the content providers208, 221 and the markup language servers 209, 251, 253, 257. Forexample, the application server unit 242 can retrieve information (e.g.,weather reports, stock information, traffic reports, restaurants, flowershops, banks, calendars, “to-do” lists, e-commerce, etc.) from adestination of the information sources. This application server unit 242may include Starfish Software to provide the address book, calendar andto-do lists, and to allow the user to organize information. Theapplication server unit 242 processes the retrieved information andprovides the information to the VRU server 234 and the voice browser250. The VRU server 234 can provide an audio announcement to the userbased upon the information using TTS synthesizing or human recordedvoice. The application server unit 242 can also send tasks or requests(e.g., transactional information) received from the user to theinformation sources (e.g., a request to place an order for a pizza). Theapplication server unit 242 can further receive user inputs from the VRUserver 234 based upon a speech recognition output. The applicationserver unit 242 is preferably a PC.

[0096] The voice markup language server 251 is preferably connected tothe LAN 240. The voice markup language server 251 can include adatabase, scripts and markup language documents or pages. The voicemarkup language server 251 is preferably a PC, such as, for example, aWindows NT compatible PC. It will also be recognized that the voicemarkup language server 251 can be an Internet server (e.g., a SunMicrosystems server).

[0097] The messaging server 255 is preferably connected to the LAN 240,the paging network 211, an e-mail system 213 and a short message system(SMS) 290. The messaging server 255 routes pages between the LAN 240 andthe paging network 211. The messaging server 255 is preferably a PC,such as, for example, a Windows NT compatible PC. The messaging server255 can also provide direct storage. It is contemplated that themessaging server 255 can reside externally from the communication node212.

[0098] The voice browser 250 is preferably connected to the LAN 240. Thevoice browser 250 preferably receives information from the markuplanguage servers 209, 251, 253, 257, the database server unit 244 andthe content providers 208, 221. In response to voice commands or DTMFsignals, the voice browser 250 generates a content request (e.g., anelectronic address) to navigate to a destination of one or more of theinformation sources. The content request can use at least a portion of aUniform Resource Locator, an Internet Protocol, a page request, ore-mail.

[0099] After the voice browser 250 is connected to an informationsource, the voice browser 250 preferably uses a Transmission ControlProtocol/Internet Protocol connection to pass requests to theinformation source. The information source responds to the requests,sending at least a portion of the requested information, represented inelectronic form, to the voice browser 250. The information can be storedin a database, and can include text content, markup language document orpages, non-text content, dialogs, audio sample data, recognitiongrammars, etc. The voice browser 250 then parses and interprets theinformation, further described below. The voice browser 250 can beintegrated into the communication devices 201, 202, 203, 204, 205.

[0100] As shown in FIG. 4, the content provider 208 is connected to theapplication server unit 242 of the communication node 212, and thecontent provider 221 is connected to the gateway server unit 246 of thecommunication node 212 via the Internet 220. The content providers 208,221 can store various content information, such as news, banking,commerce, weather, traffic conditions, etc. The content providers 208,221 can include a server to operate WWW pages or documents in the formof a markup language. The content providers 208, 221 can also include adatabase, scripts and/or markup language documents or pages. The scriptscan include images, audio, grammars, computer programs, etc. The contentproviders 208, 221 execute suitable server software to send requestedinformation to the voice browser 250.

[0101] The voice mail unit 274 is preferably connected to the telephoneswitch 203 and the LAN 240. The voice mail unit 274 can store voice mailmessages from parties trying to send messages to the communication node212. When a user accesses the electronic network 206, the voice mailunit 274 can notify the user of new and stored messages. The user canaccess the messages to play, delete, store and forward the messages.When the user accesses a message, the message can be read to the user orcan be displayed as textual information on a communication device (e.g.,a pager, a SMS 290, or a PDA, etc.). The user can also access andoperate external messages or mail systems remote from the electronicnetwork 206.

[0102] The FAX server unit 272 is preferably connected to the telephoneswitch 230 and the LAN 240. The FAX server unit 272 receivers and storesfacsimile information sent via the electronic network 206 or the carriernetwork 216. Users can access the facsimile information to play, store,delete, and forward the information. The facsimile information can beread via the TTS unit 252 or can be displayed as textual information ona suitable communication device. The FAX server unit 272 preferablycomprises a PC, such as, for example, a Windows NT compatible PC or aDialogue Fax Server.

[0103] Further information regarding communication system 200 isdisclosed in U.S. patent application Ser. No. 09/141,485, entitled“Telecommunication System and Methods Therefor,” filed Aug. 27, 1998,the entire disclosure of which is incorporated herein by reference.

[0104] It should be appreciated that the embodiments described above areto be considered in all respects only illustrative and not restrictive.The scope of the invention is indicated by the following claims ratherthan by the foregoing description. All changes that come within themeaning and range of equivalents are to be embraced within their scope.

We claim:
 1. A method of determining a location relevant to a user of acommunication device, comprising: determining general locationinformation of the location relevant to the user; determining a list oflocation parameters from the general location information; determiningspecific location information of the communication device; anddetermining the location relevant to the user by comparing the list oflocation parameters with the specific location information.
 2. Themethod of claim 1, wherein the location relevant to the user is thelocation of the user of the communication device.
 3. The method of claim1, wherein the location relevant to the user is the location of thecommunication device.
 4. The method of claim 1 further comprising:determining the location relevant to the user by comparing the list oflocation parameters with specific location information.
 5. The method ofclaim 1 further comprising: determining the location of at least oneentity in relation to the location relevant to the user.
 6. The methodof claim 1, further comprising: receiving a service request.
 7. Themethod of claim 6 wherein the service request includes the generallocation information.
 8. The method of claim 6 wherein the servicerequest includes the specific location information.
 9. The method ofclaim 1, further comprising: receiving a service request; and respondingto the service request prior to determining the general locationinformation of the location relevant to the user.
 10. The method ofclaim 1, wherein the location parameters comprises a database.
 11. Themethod of claim 7 wherein the database is selected from the groupconsisting of: a list of location parameters, a grammar of locationparameters, a map, and a memory location.
 12. The method of claim 1,wherein the step of determining the general location information occursthrough communication with the communication device.
 13. The method ofclaim 1, wherein the step of determining the general locationinformation occurs through communication with a communication network.14. The method of claim 1, wherein the step of determining the generallocation information occurs through communication with the user.
 15. Themethod of claim 1, further comprising: determining general locationinformation through an automatic position determination technology. 16.The method of claim 15 wherein the automatic positioning technology isselected from the group consisting of: cell identification information,sector identification information, timing advance information,triangulation information, receive level information, neighbor cellidentification information, neighbor sector identification information,global positioning system information, assisted global positioningsystem information, differential global positioning system information,enhanced observed time difference information, forward linktriangulation information, advanced forward link triangulationinformation, time difference of arrival information, angle of arrivalinformation, and idle period downlink observed time difference ofarrival information.
 17. The method of claim 1 wherein the generallocation information is selected from the group consisting of: a countryidentifier, an island identifier, a county identifier, a stateidentifier, a province identifier, a city identifier, a zip code and anarea code.
 18. The method of claim 1, wherein the list of locationparameters comprises a dynamically generated list of locationparameters, the location parameters at a given position in relation tothe general location information.
 19. The method of claim 18, furthercomprising: ordering the list of location parameters based upon thegiven position in relation to the general location information.
 20. Themethod of claim 1 further comprising: receiving a selection listcorresponding to the list of location parameters; receiving a selection;matching the selection with the selection list to determine a matchedselection; verifying the matched selection; and transmitting the matchedselection.
 21. The method of claim 20, wherein the selection list isselected from the group consisting of: a grammar, a static grammar, anda grammar created dynamically from the list of location parameters. 22.The method of claim 20, further comprising: requesting a category ofspecific location information; and receiving the category of specificlocation information.
 23. The method of claim 22 further comprising:receiving a second selection list corresponding to a list of categoriesof specific location information; receiving a second selection; matchingthe second selection with the second selection list to determine asecond matched selection; verifying the second matched selection; andtransmitting the second matched selection.
 24. The method of claim 23,wherein the second selection list is selected from the group consistingof: a grammar, a static grammar, and a grammar created dynamically fromthe list of location parameters.
 25. The method of claim 23, furthercomprising: refining the list of location parameters based upon thesecond matched selection.
 26. The method of claim 1, further comprising:determining specific location information through an automatic positiondetermination technology.
 27. The method of claim 26 wherein theautomatic positioning technology is selected from the group consistingof: cell identification information, sector identification information,timing advance information, triangulation information, receive levelinformation, neighbor cell identification information, neighbor sectoridentification information, global positioning system information,assisted global positioning system information, differential globalpositioning system information, enhanced observed time differenceinformation, forward link triangulation information, advanced forwardlink triangulation information, time difference of arrival information,angle of arrival information, and idle period downlink observed timedifference of arrival information.
 28. The method of claim 1 wherein thespecific location information is selected from the group consisting of:an intersection, a highway/exit, a highway/mile marker, a street namecombined with a street number, a landmark, a point of interest and aplace of business.
 29. The method of claim 1, wherein the step ofdetermining the specific location information occurs throughcommunication with the communication device.
 30. The method of claim 1,wherein the step of determining the specific location information occursthrough communication with a communication network.
 31. The method ofclaim 1, wherein the step of determining the specific locationinformation occurs through communication with the user.
 32. The methodof claim 1 further comprising: selecting the list of location parametersfrom a database of location parameters based on the general locationinformation; comparing the specific location information with the listof location parameters; and selecting at least one location parameterfrom the list of location parameters as the location relevant to theuser.
 33. A system for determining a location relevant to a user of acommunication device, comprising: computer readable program code toreceive a service request; computer readable program code to communicatewith a database of location parameters; computer readable program codeto determine general location information of the location relevant tothe user; computer readable program code to receive specific locationinformation from the communication device; and computer readable programcode to compare the general location information and the specificlocation information with the database of location parameters.
 34. Aprogram for determining a location relevant to a user of a communicationdevice, comprising: computer readable program code to receive a servicerequest; computer readable program code to communicate with a databaseof location parameters; computer readable program code to determinegeneral location information of the location relevant to the user;computer readable program code to receive specific location informationfrom the communication device; and computer readable program code tocompare the general location information and the specific locationinformation with the database of location parameters.